package com.llbnk.service;

import com.llbnk.error.BusinessException;
import com.llbnk.pojo.model.OrderModel;

/**
 * @author llbnk
 * @create 2022-08-21 22:00
 */
public interface OrderService {

    /*
    1.通过前端url传秒杀活动id,然后下单接口内校验对应id是否属于对应的商品且活动已开始
      2.直接在下单接口内判断对应商品是否存在秒杀活动，如存在就以秒杀价格下单
      第一个好，因为我们同一个活动商品可能同时存在多个app上面
      那么用户就是通过不同的app进去的，也就是不同的前端页面进来的。可能两个不同的前端都
      上映了这同一个商品，我们必须判断前端的路径来的得知从那个秒杀入口进行下单。
      还有就是在我们订单业务如果还要去判断秒杀活动模型这就耦合太严重了
      所以地下createorder传进来一个promoId
      如果promoId有值，那么我们就认为是秒杀商品
      如果没有值我们就判断它是正常购买
     */
    OrderModel createOrder(Integer userId, Integer itemId, Integer promoId, Integer amount,String stockLogId) throws BusinessException;

    String generateOrderNo();

}
